package com.chalk.vo;

import com.chalk.model.SysPermission;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

/**
 * @date: 2019-03-28 下午 05:54
 * @author: zhaobo0119@outlook.com
 * @Descriptopn:
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class SysPermissionVo extends SysPermission {

    /**
     * 权限所属的功能模块名称
     */
    @ApiModelProperty(name = "moduleName", value = "权限所属的功能模块名称")
    @NotEmpty(message = "模块名称不可为空")
    private String moduleName;

    /**
     * 权限名称
     */
    @ApiModelProperty(name = "permName", value = "权限名称")
    @NotEmpty(message = "权限名称不可为空")
    private String permName;

    /**
     * 权限类型（0、访问路径url，1、页面标签，默认0）
     */
    @ApiModelProperty(name = "permType", value = "权限类型（0、访问路径url，1、页面标签，默认0）")
    @NotNull(message = "权限类型不可为空")
    private Integer permType;

    /**
     * 权限资源（当perm_type为0时，此字段为系统某功能的url，当perm_type为1时，此字段为页面标签的编号）
     */
    @ApiModelProperty(name = "permResource", value = "权限资源（当perm_type为0时，此字段为系统某功能的url，当perm_type为1时，此字段为页面标签的编号）")
    @NotEmpty(message = "权限资源不可为空")
    private String permResource;

    /**
     * 父节点id
     */
    @ApiModelProperty(name = "parentId", value = "父节点id")
    @NotEmpty(message = "父节点不可为空")
    private String parentId;

    /**
     * 是否可用（1、可用，0、不可用，默认1）
     */
    @ApiModelProperty(name = "isAvailable", value = "是否可用（1、可用，0、不可用，默认1）")
    @NotNull(message = "是否可用不可为空")
    private Integer isAvailable;

}
